# 字符串预处理的函数
# by lw 2023-11-5

import re


def str_strip(s: str) -> str:
    """过滤字符串前后的空格、换行符
    Args:
        s (str): 要处理的字符串

    Returns:
        str: 处理后的字符串
    """
    return s.strip()


def str_lstrip(s: str, pattern: re = r'0123456789.- ') -> str:
    """过滤字符串前导的数字编号

    Args:
        s (str): 要处理的字符串
        pattern (re):使用的正则表达式

    Returns:
        str: 处理后的字符串
    """
    return s.lstrip('0123456789.- ')


def str_remove_htmlflag(s: str, pattern: re = r'<[^>]+>') -> str:
    """删除字符串中可能的html标签

    Args:
        s (str): 要处理的字符串
        pattern (re):使用的正则表达式，默认值所有的标签

    Returns:
        str: 处理后的字符串
    """
    return re.sub('<[^>]+>', '', s)


def segment_split(s: str, pattern: re = r"\s*[一二三四五六七八九]、\s*") -> [str]:
    """使用中文编号分段规则将内容分段

    Args:
        s (str): 要分段的字符串
        pattern (re, optional): 正则表达式，默认值：r"\s*[一二三四五六七八九]、\s*".

    Returns:
        [str]: 分段后的字符串数组
    """
    return re.split(pattern, s)
